package com.adderis.soft.domain.dao;

import java.util.List;

import com.adderis.soft.domain.model.Soustype;

/**
 * DAO for domain model class Soustype.
 * 
 * @see com.adderis.soft.domain.model.Soustype
 * @author Reda
 */
public interface ISoustypeDao {

	/**
	 * Persist a Soustype entity in the database
	 * 
	 * @param transientSoustype
	 */
	public void persist(Soustype transientSoustype);

	/**
	 * Remove a persisted Soustype from the database
	 * 
	 * @param persistentSoustype
	 */
	public void remove(Soustype persistentSoustype);

	/**
	 * Remove a persisted Soustype from the database
	 * 
	 * @param SoustypeId
	 */
	public void remove(Integer SoustypeId);

	/**
	 * Update a Soustype in the database
	 * 
	 * @param detachedSoustype
	 * @return merged Soustype
	 */
	public Soustype merge(Soustype detachedSoustype);

	/**
	 * Find a Soustype by id
	 * 
	 * @param id
	 * @return the found Soustype
	 */
	public Soustype findById(Integer id);

	/**
	 * Find a list of Soustype
	 * 
	 * @return the found Soustype
	 */
	public List<Soustype> findAll();

	/**
	 * Search Soustypes
	 * 
	 * @param searchString
	 * @return the found Soustypes
	 */
	public List<Soustype> search(String searchString);

}
